home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Games / DroneZone / DZSound.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-28  |  2.1 KB  |  95 lines  |  [TEXT/MPS ]

  1. /*
  2.  *    File:        DZSound.c
  3.  *
  4.  *    Contents:    Handles some of the sound stuff.
  5.  *
  6.  *    Copyright © 1996 Apple Computer, Inc.
  7.  */
  8.  
  9. #include <assert.h>
  10. #include <math.h>
  11.  
  12. #include <Controls.h>
  13. #include <Dialogs.h>
  14. #include <Sound.h>
  15.  
  16. #include "SoundSprocket.h"
  17.  
  18. #include "DZSound.h"
  19. #include "DZResource.h"
  20. #include "DZUtils.h"
  21.  
  22. static SSpListenerReference    gSoundListener            = NULL;
  23.  
  24.  
  25. /* =============================================================================
  26.  *        Sound_Init (external)
  27.  *
  28.  *    Initializes the sound stuff.
  29.  * ========================================================================== */
  30. void Sound_Init(
  31.     void)
  32. {
  33.     NumVersion                version;
  34.     
  35.     // Check the sound manager version
  36.     version = SndSoundManagerVersion();
  37.     //• IF YOU CAN'T COMPILE THE PREVIOUS LINE, YOU MUST EDIT YOUR Sound.h TO
  38.     //• MAKE SndSoundManagerVersion RETURN THE TYPE NumVersion.
  39.     
  40.     if (!CheckVersionNumber(&version, 3, 2, 1))
  41.     {
  42.         StopAlert(kAlrtID_SoundMgrVersion, NULL);
  43.         //• TODO: QUIT or disable sound
  44.     }
  45.     
  46.     // Create the listener
  47.     SSpListener_New(&gSoundListener);
  48.     assert(gSoundListener != NULL);
  49.     
  50.     SSpListener_SetMetersPerUnit(gSoundListener, 5.0);
  51. }
  52.  
  53.  
  54. /* =============================================================================
  55.  *        Sound_Exit (external)
  56.  *
  57.  *    Prepares for exit.
  58.  * ========================================================================== */
  59. void Sound_Exit(
  60.     void)
  61. {
  62.     if (gSoundListener != NULL)
  63.     {
  64.         SSpListener_Dispose(gSoundListener);
  65.         gSoundListener = NULL;
  66.     }
  67. }
  68.  
  69.  
  70. /* =============================================================================
  71.  *        Sound_GetListener (external)
  72.  *
  73.  *    Returns the game listener object, which is the "head" position for 3D sound.
  74.  * ========================================================================== */
  75. SSpListenerReference Sound_GetListener(
  76.     void)
  77. {
  78.     assert(gSoundListener != NULL);
  79.     return gSoundListener;
  80. }
  81.  
  82.  
  83. /* =============================================================================
  84.  *        Sound_Configure (external)
  85.  *
  86.  *    Presents the modal dialog to configure the 3D sound stuff..
  87.  * ========================================================================== */
  88. void Sound_Configure(
  89.     void)
  90. {
  91.     SSpConfigureSpeakerSetup(NULL);
  92. }
  93.  
  94.  
  95.